Computers have become highly integrated in the workforce, in the home, in mobile devices, and many other places. Computers can process massive amounts of information quickly and efficiently. Software applications designed to run on computer systems allow users to perform a wide variety of functions including business applications, schoolwork, entertainment and more. Software applications are often designed to perform specific tasks, such as word processor applications for drafting documents, or email programs for sending, receiving and organizing email.
In many cases, software applications are designed to store information such as documents, user settings or other state information in databases. These databases are often configured to back up or transfer stored information to other database systems. As changes are made to the original data on a source database, the changes are synchronized to one or more target databases.
Synchronization policies may be implemented that dictate which data changes are (or are not) to be synchronized to a given target database. One form of synchronization policy is a synchronization scopes policy. A synchronization scope is a non-overlapping subset of data and a synchronization scopes policy is a policy allowing changes to be synchronized only if the changes are for data in a specified set of scopes.